package com.hxf.service.order;

import java.util.List;

import com.hxf.dto.MealOrderDetailDto;
import com.hxf.dto.MealOrderDto;
import com.hxf.dto.ReturnData;
import com.hxf.exception.DaoLevelException;
import com.hxf.exception.ServiceException;
import com.hxf.service.base.BaseService;
import com.hxf.web.vo.OrderDetailVo;

public interface OrderService extends BaseService {
	/**
	 * 查询主订单信息
	 * @param orderDto
	 * @param targetPage
	 * @param pageSize
	 * @return
	 * @throws ServiceException
	 */
	public ReturnData<MealOrderDto> findMealOrder(MealOrderDto orderDto,int targetPage, int pageSize) throws ServiceException;
	
	/**
	 * 查询订单详细信息 分页
	 * @param orderDto
	 * @param targetPage
	 * @param pageSize
	 * @return
	 * @throws DaoLevelException
	 */
	public ReturnData<MealOrderDetailDto> findMealOrderDetail(MealOrderDetailDto orderDetailDto, int targetPage, int pageSize)throws ServiceException;
	
	/**
	 * 查询订单详细信息
	 * @param orderDto
	 * @param targetPage
	 * @param pageSize
	 * @return
	 * @throws DaoLevelException
	 */
	public List<MealOrderDetailDto> findMealOrderDetail(MealOrderDetailDto orderDetailDto)throws ServiceException;
	
	/**
	 * 保存订单信息
	 * @param orderDto
	 * @param orderDetailVoList
	 * @return
	 * @throws ServiceException
	 */
	public int saveOrder(MealOrderDto orderDto, List<OrderDetailVo> orderDetailVoList) throws ServiceException;
	
	/**
	 * 修改订单信息
	 * @param orderDto
	 * @param orderDetailVoList
	 * @return
	 * @throws ServiceException
	 */
	public int updateOrder(MealOrderDto orderDto, List<OrderDetailVo> orderDetailVoList) throws ServiceException;
	
	/**
	 * 根据订单编号 删除订单详细信息
	 * @param orderId
	 * @throws DaoLevelException
	 */
	public int deteleMealOrderDetailByOrderId(String orderId) throws ServiceException;

	/**
	 * 根据订单标号 删除订单表数据
	 * @param orderId
	 * @return
	 * @throws ServiceException
	 */
	public int deleteMealOrderBy(String orderId) throws ServiceException;
}
